﻿<html>

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
        <script src="/static/js/common.js"></script>

    <!-- 行内编辑 css-->
    <style>
        .tb-edit .el-input {
            display: none
        }

        .tb-edit .current-row .el-input {
            display: block
        }

        .tb-edit .current-row .el-input+span {
            display: none
        }

        .xian {
            display: block;
            text-align: center;
        }

        .yin {
            display: none;
            text-align: center;
        }


    </style>
    <!-- 行内编辑 css-->
</head>

<body>
    
<div id="app" v-cloak>   
        <el-row>
            <el-col :span="4">
                <el-tree :data="data5" node-key="id" @node-click="handleNodeClick">
                    <span slot-scope="scope">
                        <span>
                            <i :class="scope.data.icon"></i>
                            <template>
                                <span v-if="scope.data.icon == 'tree-open'"
                                    style="color:#12489e">{{ scope.node.label }}</span>
                                <span v-else-if="scope.data.icon == 'tree-close'"
                                    style="color: #12489e">{{ scope.node.label }}</span>
                                <span v-else>{{ scope.node.label }}</span>
                            </template>
                        </span>
                    </span>
                </el-tree>

            </el-col>
            <el-col :span="20">
                <el-form label-position="right" ref="form" :inline="true" :model="formInline" class="demo-form-inline"
                    style="margin-bottom: 15px;">
                    <el-row>
                        <el-col class="head-tool">
                            <span>

                                <btn :text="col.btnSelect" imgsrc="/static/images/search.png" linetype="3"
                                    @click="onSubmit"></btn>

                                <btn :text="col.btnAdd" linetype="3" @click="add"></btn>

                                <btn-export-list url="xxxx" :forminline="this.formInline" linetype="3">
                                </btn-export-list>

                                <btn-uploadfile-list url="xxxx" linetype="3"></btn-uploadfile-list>

                                <btn :text="col.btnDownLoad" linetype="3" @click="onDelete"></btn>

                                <btn :text="col.btnDelete" linetype="4" @click="onDelete"></btn>



                            </span>
                        </el-col>
                    </el-row>
                    <el-row>
                        <el-col :xs="8" :sm="8" :md="8" :lg="6" :xl="6">
                            <div class="elst-select-mini">
                                <el-form-item>
                                    <el-input size="mini">
                                        <template slot="prepend">
                                            {{user.sex+mark.m}}
                                        </template>
                                        <el-select @visible-change="visibleChange" v-model="formInline.model.sex" slot="suffix" :placeholder="user.sex">
                                            <el-option label="请选择" value=""></el-option>
                                            <el-option v-for="item in sex" :label="item.value" :value="item.key">
                                            </el-option>
                                        </el-select>
                                    </el-input>
                                </el-form-item>
                            </div>
                        </el-col>
                        <el-col :xs="8" :sm="8" :md="8" :lg="6" :xl="6">
                            <div class="elst-select-mini">
                                <el-form-item>
                                    <el-input v-model="formInline.model.loginName" :placeholder="user.loginName"
                                        size="mini">
                                        <template slot="prepend">
                                            {{user.loginName+mark.m}}
                                        </template>
                                    </el-input>
                                </el-form-item>
                            </div>
                        </el-col>
                    </el-row>
                </el-form>
                <el-table ref="table" stripe @current-change="tableHandleCurrentChange" class="tb-edit"
                    :data="ListItem.tableData" :row-key="getRowKeys" :height="ListItem.tableHeight" border
                    @selection-change="handleSelectionChange" row-style="height:10px" style="width: 100%;">
                    <el-table-column type="selection" style="
    padding-top: 0px;
    padding-bottom: 0px;
" align="center" width="55" :reserve-selection="true">
                    </el-table-column>
                    <el-table-column type="index" :label="col.SequenceNumber" :index="indexMethod" width="50"
                        show-overflow-tooltip="true"></el-table-column>




                    <!-- 行内编辑 html-->
                    <el-table-column :label="user.loginName">
                        <template scope="scope">
                            <el-input size="mini" v-model="scope.row.loginName" placeholder="请输入内容" @blur="handblur">
                            </el-input>
                            <span>{{scope.row.loginName}}</span>
                            <span class="lineMust" v-if="scope.row.loginName.length<=0">
                                <!-- 必填项添加 -->
                                <img src="/static/images/exclamation.png" alt="">
                            </span>
                        </template>
                    </el-table-column>
                    <el-table-column :label="user.sex">
                        <template scope="scope">
                            <el-input size="mini" v-model="scope.row.sex" placeholder="请输入内容" @blur="handblur">
                            </el-input>
                            <span>{{scope.row.sex}}</span>
                        </template>
                    </el-table-column>


                    <el-table-column width="90" prop="update" :label="col.stWork">
                        <template slot-scope="scope">
                            <span class="start xian">
                                <button type="button" class="elst-bt-xg" @click=Edit('xg',scope.row.id,scope.$index)>
                                    <i class="el-icon-edit"></i>
                                </button>
                            </span>
                            <span class="end yin">
                                <button type="button" class="elst-bt-xg " @click="Save(scope.$index, scope.row)">
                                    <i class="el-icon-circle-check-outline"></i>
                                    <!-- 保存 -->
                                </button>
                                <button type="button" class="elst-bt-xg " @click="Back(scope.$index, scope.row)">
                                    <i class="el-icon-circle-close-outline"></i>
                                    <!-- 撤销 -->
                                </button>
                            </span>
                        </template>
                    </el-table-column>
                    <!-- 行内编辑 html-->






                </el-table>
                <el-row type="flex" justify="end">
                    <el-pagination ref="page" @size-change="handleSizeChange" @current-change="handleCurrentChange"
                        :current-page="ListItem.currentPage" :page-sizes="ListItem.pagesizes"
                        :page-size="ListItem.pagesize" :layout="ListItem.layout" :total="ListItem.total">
                    </el-pagination>
                </el-row>

            </el-col>
        </el-row>
    </div>
    <script type="text/javascript">
        var app = new Vue({
            el: '#app',
            data: {
                //行内编辑 添加内容设置
                Form: {
                    id: guidEmpty,
                    loginName: '',
                    name: '',
                    password: '',
                    sex: '',
                    remarks: '',
                },
                // 行内编辑 添加内容设置
                //表单验证
                rules: {
                    loginName: [
                        verification.NotNull,
                        { pattern: verification.StringLengthAtoB.t.format(2, 10), message: verification.StringLengthAtoB.m.format(5, 10), trigger: 'blur' }
                    ],
                    password: [
                        verification.NotNull

                    ],
                    sex: [
                        verification.NotNullSelect
                    ],
                    name: [
                        verification.NotNull
                    ]
                },
                data5: [{
                    id: 1,
                    label: '一级 1',
                    icon: 'tree-open',
                    children: [{
                        id: 4,
                        label: '二级 1-1',
                        icon: 'tree-open',
                        children: [{
                            id: 9,
                            label: '三级 1-1-1',
                            icon: 'tree-item',
                        }, {
                            id: 10,
                            label: '三级 1-1-2',
                            icon: 'tree-item',
                        }]
                    }]
                }, {
                    id: 2,
                    label: '一级 2',
                    icon: 'tree-open',
                    children: [{
                        id: 5,
                        label: '二级 2-1',
                        icon: 'tree-item',
                    }, {
                        id: 6,
                        label: '二级 2-2',
                        icon: 'tree-item',
                    }]
                }, {
                    id: 3,
                    label: '一级 3',
                    icon: 'tree-open',
                    children: [{
                        id: 7,
                        label: '二级 3-1',
                        icon: 'tree-item',
                    }, {
                        id: 8,
                        label: '二级 3-2',
                        icon: 'tree-item',
                    }]
                }],
                //表单内容
                ListItem: ListItem,
                //获取下拉菜单sex
                sex: [],
                formInline: {
                    model: { loginName: '', sex: '' },
                    offset: 0,
                    limit: 10
                }
            },
            mounted: function () {
                console.log(getDicDataArray(["01", "02", "03", "04"]))
                //获取下拉菜单内容
                this.sex = getDicData('01');
                //初始化数据
                this.GetPageData(1);
                //列表高度自适应
                tablehigh(this);
            },
            methods: {
                //解決edge下select bug
                visibleChange: function (isVisible) {
                    visibleChange(isVisible)
                },
                // 行内编辑 js
                add: function (formName) {
                    if ($('tbody tr').attr("class") == "el-table__row current-row") {
                        showMessage(msg.EditingNotCompleted, 'error');
                    } else {
                        this.Form.loginName = '';//添加是清空录入数据的，每一项都要有
                        this.Form.sex = '';//添加是清空录入数据的，每一项都要有
                        $('.el-table__row').removeClass('current-row');
                        $('.el-table__row span.end').removeClass('xian');
                        $('.el-table__row span.end').addClass('yin');
                        $('.el-table__row span.start').removeClass('yin');
                        $('.el-table__row span.start').addClass('xian');
                        this.ListItem.tableData.unshift(this.Form);
                        setTimeout(function () {
                            $('.el-table__row:eq(0)').addClass('current-row');
                            $('.el-table__row:eq(0) span.end').removeClass('yin');
                            $('.el-table__row:eq(0) span.end').addClass('xian');
                            $('.el-table__row:eq(0) span.start').removeClass('xian');
                            $('.el-table__row:eq(0) span.start').addClass('yin');
                        }, 100);
                    }
                },
                //修改
                Edit: function (val, id, index) {
                    $('.el-table__row').removeClass('current-row');
                    $('.el-table__row:eq(' + index + ')').addClass('current-row');
                    $('.el-table__row span.end').removeClass('xian');
                    $('.el-table__row span.end').addClass('yin');
                    $('.el-table__row span.start').removeClass('yin');
                    $('.el-table__row span.start').addClass('xian');
                    $('.el-table__row:eq(' + index + ') span.end').removeClass('yin');
                    $('.el-table__row:eq(' + index + ') span.end').addClass('xian');
                    $('.el-table__row:eq(' + index + ') span.start').removeClass('xian');
                    $('.el-table__row:eq(' + index + ') span.start').addClass('yin');
                },
                // 保存
                Save: function (a, b) {
                    if (!b.loginName) {
                        showMessage(msg.NoMust, 'error');
                    } else {
                        this.onSubmitForm('form', b);

                        $('.el-table__row').removeClass('current-row');
                        console.log("a", a);
                        console.log("b", b);
                        $('.el-table__row span.end').removeClass('xian');
                        $('.el-table__row span.end').addClass('yin');
                        $('.el-table__row span.start').removeClass('yin');
                        $('.el-table__row span.start').addClass('xian');
                        //初始化数据
                        // this.GetPageData(1);
                        setTimeout(this.GetPageData, 100);
                    }
                },
                Back: function (a, b) {
                    $('.el-table__row').removeClass('current-row');
                    $('.el-table__row span.end').removeClass('xian');
                    $('.el-table__row span.end').addClass('yin');
                    $('.el-table__row span.start').removeClass('yin');
                    $('.el-table__row span.start').addClass('xian');
                    //初始化数据
                    this.GetPageData(1);
                },
                onSubmitForm: function (formName, obj) {
                    var mythis = this;
                    this.$refs[formName].validate(function (valid) {
                        onSubmitForm(this, '/api/User/Save', obj);
                        //验证通过
                        if (valid) {
                            onSubmitForm(this, '/api/User/Save', obj);
                        } else {
                            //验证失败
                            return false;
                        }
                    });
                },
                handblur: function () {
                    this.$refs.table.setCurrentRow(999);
                    console.log("c", 'c');
                },
                //table选中行handle
                tableHandleCurrentChange: function (currentRow) {
                    this.currSeelctId = currentRow.id;
                    this.currSeelctCell = currentRow;
                },
                // 行内编辑 js










                indexMethod: function (index) {
                    return (this.ListItem.currentPage - 1) * this.ListItem.pagesize + index + 1;
                },
                handleNodeClick: function (data) {
                    if (!data.children) {
                        // this.formInline.model.TreeNode = data.id
                        // onSubmit(this);
                    } else {
                        if (data.icon == "tree-open") {
                            data.icon = "tree-close"
                        } else (
                            data.icon = "tree-open"
                        )
                    }
                },
                //关闭Dialog 回调
                closeDialog: function () { closeDialog(this); },
                //删除方法
                onDelete: function () { onDelete(this, '/api/User/DeleteMuti'); },
                //列表选择触发
                handleSelectionChange: function (val) { handleSelectionChange(this, val); },

                //获取分页数据
                GetPageData: function (currentIndex) { GetPageData(this, currentIndex, '/api/User/GetList') },
                //查询方法
                onSubmit: function () { onSubmit(this); },
                //pagesize改变 触发方法
                handleSizeChange: function (val) { handleSizeChange(this, val); },
                //跳页触发方法
                handleCurrentChange: function (val) { handleCurrentChange(this, val); },
                //获取下拉菜单数据
                getDropDown: function () {
                },
            }
        });
    </script>
</body>

</html>